﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace TareaVenta
{
    public partial class Form1 : Form
    {
        public MySqlConnection conexio = new MySqlConnection();
        public MySqlCommand comando;
        public string temporal;
        string iD_VENTA;
        int ID_BOLETO;
        int CANTIDAD_VENTA;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            panel1.Visible = false;
            btnGuardar.Visible = false;

            Conectar();
            try
            {
                comando = new MySqlCommand("SELECT MAX(ID_BOLETOS) FROM Boletos", conexio);
                lblDisponibles.Text = Convert.ToString(comando.ExecuteScalar());
                comando = new MySqlCommand("SELECT MAX(ID_VENTA) FROM Venta", conexio);
                temporal = Convert.ToString(comando.ExecuteScalar());
                if (temporal == "") temporal = "0";
                if (lblDisponibles.Text == "") lblDisponibles.Text = "0";
                lblDisponibles.Text = (int.Parse(lblDisponibles.Text) - int.Parse(temporal)).ToString();
                conexio.Close();
            }
            catch { }
        }
        private void Conectar()
        {
            try
            {
                conexio.ConnectionString = "Server=instance29023.db.xeround.com;Port=18932;Database=ventaboletos;Uid=petty; Pwd=petty;";
                conexio.Open();
                MessageBox.Show("Conexion satisfactoria");
            }
            catch
            {
                MessageBox.Show("No se realizo");
            }
        }

        private void btnVender_Click(object sender, EventArgs e)
        {
            if (int.Parse(lblDisponibles.Text) <= 0)
            {
                MessageBox.Show("Se agotaron los Boletos");
            }
            else
            {
                panel1.Visible = true;
                btnGuardar.Visible = true;
                btnVender.Visible = false;
                Conectar();
                comando = new MySqlCommand("SELECT MAX(ID_VENTA) FROM Venta", conexio);
                iD_VENTA = Convert.ToString(comando.ExecuteScalar());
                if (iD_VENTA == "") iD_VENTA = "0";
                ID_BOLETO = int.Parse(iD_VENTA) + 1;
                lblidventa.Text = ID_BOLETO.ToString();
            }
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtNombre.Text != "" && int.Parse(txtcantidad.Text) < int.Parse(lblDisponibles.Text))
                {
                    CANTIDAD_VENTA = 50 * int.Parse(txtcantidad.Text);
                    for (int i = 1; i <= int.Parse(txtcantidad.Text); i++)
                    {
                        comando = new MySqlCommand("insert into Venta values(" + ID_BOLETO.ToString() + "," + txtcantidad.Text + "," + CANTIDAD_VENTA.ToString() + "," + ID_BOLETO.ToString() + ",'" + txtNombre.Text + "')", conexio);
                        comando.ExecuteNonQuery();
                        ID_BOLETO += 1;
                    }
                    comando = new MySqlCommand("SELECT MAX(ID_BOLETOS) FROM Boletos", conexio);
                    lblDisponibles.Text = Convert.ToString(comando.ExecuteScalar());
                    comando = new MySqlCommand("SELECT MAX(ID_VENTA) FROM Venta", conexio);
                    temporal = Convert.ToString(comando.ExecuteScalar());
                    if (temporal == "") temporal = "0";
                    lblDisponibles.Text = (int.Parse(lblDisponibles.Text) - int.Parse(temporal)).ToString();
                    conexio.Close();
                    btnVender.Visible = true;
                    btnGuardar.Visible = false;
                    panel1.Visible = false;
                    txtNombre.Text = "";
                    txtcantidad.Text = "";
                    MessageBox.Show("Pagar: " + CANTIDAD_VENTA.ToString());
                }
                else { MessageBox.Show("Verifica que la cantidad de Boletos que pides no exceda a los Existentes"); }
            }
            catch
            {
                MessageBox.Show("Ocurrió un error al registrar los boletos");
            }

        }

        private void btnVentas_Click(object sender, EventArgs e)
        {
            Ventas ven = new Ventas();
            ven.ShowDialog(this);
            ven.Dispose();
        }

        private void label6_Click(object sender, EventArgs e)
        {
            Insertar ins = new Insertar();
            ins.ShowDialog(this);
            ins.Dispose();
            lblDisponibles.Text = ins.regresarvalor;
        }
    }
}
